配置加密 |
您所在的位置:网站首页 › nacos 数据源加密 › 配置加密 |
配置加密 为保证用户敏感配置数据的安全,Nacos 提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。 前提条件版本: 老版本暂时不兼容,目前只基于2.x版本进行了改造,推荐版本 > 2.0.4。 内嵌数据库启动: 数据库表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。 如果之前使用过内嵌数据库的单机模式启动,则需要删除 nacos/data 文件夹,在重新启动会重新创建表。 MySQL启动: 数据库表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。 对于目前已经搭建好的 Nacos 使用以下 sql 将字段添加到对应的表中: ALTER TABLE table_name ADD COLUMN `encrypted_data_key` text NOT NULL COMMENT '秘钥' 插件化实现通过 SPI 的机制抽象出加密和解密的操作,Nacos 默认提供 AES 的实现。用户也可以自定义加解密的实现方式。具体的实现在 nacos-plugin 仓库。 在 Nacos 服务端启动的时候就会加载所有依赖的加解密算法,然后通过发布配置的 dataId 的前缀来进行匹配是否需要加解密和使用的加解密算法。 客户端发布的配置会在客户端通过filter完成加解密,也就是配置在传输过程中都是密文的。而控制台发布的配置会在服务端进行处理。 如何使用Nacos 加解密插件是可插拔的,有没有都不影响 Nacos 的核心功能的运行。如果想要使用 Naocs 的配置加解密功能需要单独引用加密算法的实现。客户端和服务端都通过添加以下依赖来使用 AES 加解密算法,服务端推荐添加到 config 模块下。 com.alibaba.nacos nacos-aes-encryption-plugin ${nacos-aes-encryption-plugin.version}${nacos-aes-encryption-plugin.version} 可以获取插件的最新版本。 目前插件需要自己编译,并未上传至maven中央仓库 如何编译编译插件之前需要先编译nacos并安装至本地仓库. git clone [email protected]:alibaba/nacos.gitcd nacos && mvn -B clean package install -Dmaven.test.skip=true若出现revision变量无法解析,请更新maven至最新版本 git clone [email protected]:nacos-group/nacos-plugin.gitmvn install建议上传到公司的maven仓库 创建加密配置打开 Nacos 控制台,点击新建配置。 配置前缀使用cipher-[加密算法名称]-dataId来标识这个配置需要加密,系统会自动识别并加密。例如使用 AES 算法来解密配置:cipher-aes-application-dev.yml。 点击保存,查看数据库 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |